@Lemon
2年前 提问
1个回答

针对加密系统的攻击手段有哪些

Ann
2年前

针对加密系统的攻击手段有以下这些:

  • 被动攻击:对一个保密系统采取截获密文进行分析的攻击。

  • 主动攻击:主动向系统窜扰,采用删除、增添、重放、伪造等窜改手段向系统注入假消息,达到利已害人的目的。

  • 唯密文攻击:密码分析者有一些消息密文,这些消息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密消息的密钥来,以便可采用相同的密钥解算出其他被加密的消息。

  • 已知密文攻击:密码分析者不仅可以得到一些消息的密文,而且也知道这些消息的明文。分析者的任务就是用加密信息推出用来加密的密钥或者导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。

  • 选择明文攻击:分析者不仅可得到一些消息的密文和相应的明文,而且他们也可选择被加密的明文。这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去加密,那这些块可能产生更多关于密钥的信息,分析者的任务是推出用来加密消息的密钥或者导出一个算法,此算法可以推用同一密钥加密的任何新的消息进行解密。

  • 自适应选择明文攻击:这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的密文,而且也能给予以前加密的结果修正这个选择。在选取较小的明文块,然后再基于第一块的结果选择另一明文块,依此类推。

  • 选择密文攻击:密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,例如密码分析者存储一个防篡改的自动解密盒,密码分析者的任务是推出密钥,这种攻击主要用于公开密钥算法。选择密文攻击有时也可有效地用于对称算法。(注:稍微解释一下,这个攻击的前提是分析者能够获得一个密封的“解密盒”,也就是一个已经固化的、专门用于对应某一个特定密钥加密过的密文进行解密的硬件。攻击的方法就是随机产生一个“伪密文”(不一定是合法的),让解密盒进行解密,从所得到的明文和密文进行比较,得到关于密钥或者算法的相关信息。这种攻击实际上和选择明文攻击相类似(就是它的逆过程),只是明文变成密文肯定能够成功,但是逆过程则不一定成功。同时,一般加密算法的设计对于从加密后的密文里面泄露密钥信息是比较重要的,但是从明文里面泄露消息则考虑得相对较少。此外,如果是非对称加密算法,两个破解方向由于密钥长度的不同,会引起破解难度的巨大差别。因此选择密文攻击很可能得到比选择明文攻击更多的信息。)

  • 选择密钥攻击:这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间的关系的有关知识。这种方法有点奇特和晦涩,不是很实际。

  • 软磨硬泡攻击:密码分析者威胁、勒索,或者折磨某人,直到它给出密钥位置。行贿有时称为购买密钥攻击(purchase-keyattack)。

加固系统安全性可以从以下方面入手:

  • 端口和进程:网络操作系统使用进程向外提供服务,减少无用软件及服务的任务就是要在所有系统进程中找出多余进程。由于进程通过打开网络端口向外提供服务,所以找出多余进程的最快方法是观察进程及端口对应表。Netstat命令显示协议统计和当前的TCP/IP网络连接,该命令只有在安装了TCP/IP协议后才可以使用。通过使用该命令可以列出一个系统上所有打开的TCP/IP网络监听端口。这些打开着的端口正是入侵者所要攻击的,因为它们通向系统平台内部。因此,作为平台加固的一部分,用户使用Netstat命令来识别出无关端口,并由此找到需要删除或禁用的服务。

  • 安装系统补丁:所有软件都有缺陷。为了修复这些错误,供应商会发布软件补丁。如果没有这些补丁,组织很容易遭受攻击。在有很严格的更改控制策略的组织中,及时安装补丁会是一个问题。对补丁的彻底测试是这个过程的关键部分,因为供应商在解决旧问题时,有可能会引入新的问题。而对于和安全缺陷无关的补丁来说没有问题。但是,入侵者搜索和利用安全弱点的速度很快,所以要求有更快的安全补丁修正过程。企业必须注意安全补丁的发布,并随时准备快速地使用它们。

  • 用户账户:用户账户标识了需要访问平台资源的实体(无论是应用程序进程还是人)。操作系统通过权限和优先权将用户账户与其访问控制系统相关联。因为用户账户是合法进入系统的机制,所以入侵者常常试图利用用户账户管理和访问控制中的缺陷。如果可以作为合法用户轻松地登录系统,那么为什么还要浪费时间去做自定义缓冲器溢出攻击呢?用户账户管理的弱点有5个方面:弱密码、制造商默认的账户、基于角色的账户、公司默认账户,以及废弃账户。在任何情况下,平台加固的目标是将用户账户数目减少到所需的绝对最小值。

  • 用户特权:为每一个用户指派通常只能作为超级用户运行的特定的应用程序和功能,而不是真正地使用超级用户账户。也可以启用详细的日志记录,使得可以根据任何运行于超级用户功能追踪到某个特定的用户。在特定的应用中,意味着没有人使用过超级用户账户。

  • 文件系统安全:通过在程序文件上设置SUID标志,某一个进程可以临时提升其特权用以完成某项任务(例如,访问文件passwd)。当程序执行时,可以暂时得到这些额外的特权而不用被全授予如此高的特权。这个SUID标志常常过度使用,当它与被黑客修改过的软件包结合时,被修改的程序执行后会使某个用户得到全时提升的系统权利。UNIX系统可能有很多带有这个标志的组件,但是通常只需要它们中的一小部分。建议使用命令从整个系统中删除不需要SUID标志程序的SUID标志。

  • 远程访问的安全:Telnet和rlogin是UNIX系统上最常用的远程访问方式。这些系统都不采用加密技术来保护远程访问会话。一种被动的网络监听攻击可以看到用户在进入Telnet或者rlogin会话中按下的每一个键。安全Shell(SSH)是一种在UNIX及Window系统上使用的软件包,它提供与Telnet和rlogin相同功能,但增加了加密会话功能。这个软件包已经成为用加密和访问控制的各种可配置级别进行安全远程访问的行业标准。